package com.jic.order.utils;

import com.jic.common.utils.IDUtils;

public class SerialNoUtil {

	private static final String PREFX_O = "O";
	private static final String PREFX_P = "P";
	private static final String PREFX_D = "D";
	private static final String PREFX_B = "B";
	private static final String PREFX_A = "A";

	/**
	 * 订单号以字母O开头
	 */
	public static String genOrderNo() {
		return IDUtils.GenerateBillNo(PREFX_O);
	}

	/**
	 * 父订单号以字母P开头
	 */
	public static String genParentOrderNo() {
		return IDUtils.GenerateBillNo(PREFX_P);
	}

	/**
	 * 交货单号以字母D开头
	 */
	public static String genDeliveNo() {
		return IDUtils.GenerateBillNo(PREFX_D);
	}

	/**
	 * 包裹单号以字母D开头
	 */
	public static String genBaleNo() {
		return IDUtils.GenerateBillNo(PREFX_B);
	}

	/**
	 * 售后编号以字母A开头
	 */
	public static String genAfterSaleNo() {
		return IDUtils.GenerateBillNo(PREFX_A);
	}

	/**
	 * 是否是订单号
	 */
	public static boolean isOrderNo(String serialNo) {
		return serialNo.startsWith(PREFX_O);
	}

	/**
	 * 是否是父订单号
	 */
	public static boolean isParentOrderNo(String serialNo) {
		return serialNo.startsWith(PREFX_P);
	}

	/**
	 * 是否是交货单号
	 */
	public static boolean isDeliveNo(String deliveNo) {
		return deliveNo.startsWith(PREFX_D);
	}

	/**
	 * 是否是包裹单号
	 */
	public static boolean isBaleNo(String baleNo) {
		return baleNo.startsWith(PREFX_B);
	}

	/**
	 * 是否售后单号
	 */
	public static boolean isAfterSaleNo(String serialNo) {
		return serialNo.startsWith(PREFX_A);
	}
}
